package org.upm;

/**
 * Servidor que atiende peticiones de clientes para disparar las 
 * las reglas de anuncio personalizado.
 * 
 * @author Jonathan Gonzalez
 * @version 19/04/2009
 */

import java.io.FileReader;
import java.net.*;
import java.util.ArrayList;
import java.util.logging.Logger;

import au.com.bytecode.opencsv.CSVReader;

public class DroolsServer {
	
	//Logger de la clase.
    private static Logger logger =
           Logger.getLogger(DroolsServer.class.getName());
    
    public static void main (String args[]) throws Exception {

        //Puerto de conexión
        int port = 4444;
        
        //Datagram socket de la conexión
        DatagramSocket dsocket;

        try{
            dsocket = new DatagramSocket(port);
            logger.info("DatagramSocket creado con éxito.");
        }
        catch (SocketException e) {
            logger.severe("El DatagramSocket no se ha podido crear.");
            System.out.println(e);
            return;
        }
        
        while(true){
        	byte data[] = new byte[256];
            DatagramPacket solicitud = new DatagramPacket(data, data.length);
            //Esperamos la conexion de un cliente.
            logger.info("Esperando la conexión del cliente");
            dsocket.receive(solicitud);
            logger.info("**--** Recibida solicitud del cliente. ");
            //Invocamos a la hebra que atenderá la petición
            DroolsThread dt = new DroolsThread(dsocket, solicitud);
            dt.run();
        }
    }
}

